//package com.sunday.fangdaifu.receiver;
//
//import android.app.Notification;
//import android.app.NotificationManager;
//import android.app.PendingIntent;
//import android.content.BroadcastReceiver;
//import android.content.Context;
//import android.content.Intent;
//import android.os.Bundle;
//import android.support.v4.app.NotificationCompat;
//import android.text.TextUtils;
//
//import com.google.gson.Gson;
//import com.google.gson.reflect.TypeToken;
//import com.igexin.sdk.PushConsts;
//import com.sunday.common.event.EventBus;
//import com.sunday.common.logger.Logger;
//
//import java.util.HashMap;
//
///**
// * Created by Administrator on 2015/8/25.
// */
//public class PushReceiver extends BroadcastReceiver{
//    protected static int notifyID = 0525; // start notification id
//    private Gson gson = new Gson();
//    @Override
//    public void onReceive(Context context, Intent intent) {
//        Bundle bundle = intent.getExtras();
//        Logger.d("GetuiSdkDemo", "onReceive() action=" + bundle.getInt("action"));
//        switch (bundle.getInt(PushConsts.CMD_ACTION)) {
//            //添加其他case
//            //.........
//            case PushConsts.GET_CLIENTID:
//                // 获取ClientID(CID)
//                String cid = bundle.getString("clientid");
//                Logger.d("GetuiSdkDemo", "Got ClientID:" + cid);
//                boolean isLogin = SharePerferenceUtils.getIns().getBoolean(Const.IS_LOGIN, false);
//                if(!isLogin){
//                    return ;
//                }
//               // BaseApplication.getInstance().autoLogin();
//                /* 第三方应用需要将ClientID上传到第三方服务器，并且将当前用户帐号和ClientID进行关联，
//                以便以后通过用户帐号查找ClientID进行消息推送。有些情况下ClientID可能会发生变化，为保证获取最新的ClientID，
//                请应用程序在每次获取ClientID广播后，都能进行一次关联绑定 */
//                String memberId = String.valueOf(SharePerferenceUtils.getIns().getLong(Const.RECORD_MEMBER_ID, 0L));
//                Logger.i("push","上传token");
//                ApiClient.getApiService().saveToken(memberId,cid);
//
//                break;
//            case PushConsts.GET_MSG_DATA:
//                isLogin = SharePerferenceUtils.getIns().getBoolean(Const.IS_LOGIN, false);
//                if(!isLogin){
//                    return ;
//                }
//                byte[] payload = bundle.getByteArray("payload");
//                if (payload != null) {
//                    String data = new String(payload);
//                    Logger.d("GetuiSdkDemo", "Got Payload:" + data);
//                    HashMap<String ,String> result = gson.fromJson(data,new TypeToken<HashMap<String,String>>(){}.getType());
//                    if(TextUtils.isEmpty(result.get("code"))){
//                        return;
//                    }
//                    int code = Integer.parseInt(result.get("code"));
//                    switch (code){
//                        case 1://好友请求
//                            int messageNum = SharePerferenceUtils.getIns().getInt(Const.FRIENDS_APPLY_NUM,0);
//                            messageNum++;
//                            SharePerferenceUtils.getIns().putInt(Const.FRIENDS_APPLY_NUM,messageNum);
//                            EventBus.getDefault().post(new NewFriendsApply());
//                            break;
//                        case 2:
//                            Long sender = Long.parseLong(result.get("sender"));
//                            String msgIds = result.get("ids");
//                            messageNum = SharePerferenceUtils.getIns().getInt(Const.NEW_MSG_NUMBER,0);
//                            messageNum++;
//                            SharePerferenceUtils.getIns().putInt(Const.NEW_MSG_NUMBER,messageNum);
//                            EventBus.getDefault().post(new NewMessage(sender,msgIds));
//                            break;
//                        case 3:
//                            msgIds = result.get("ids");
//                            String  content = result.get("content");
//                            showNotice(context,content);
//                            break;
//                    }
//
//                    // TODO:接收处理透传（payload）数据
//                    //{"taskId":"90004","value":"1","info":"有新的用户付款啦！赶快去app里看看吧~"}
//                  //  if(pushModel.getTaskId()==90003){
//                  /*      NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE);
//                        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context);
//                        String  packageName = context.getApplicationInfo().packageName;
//                        intent = new Intent(context,DirectionActivity.class);
//                        PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
//                        mBuilder.setContentTitle("渔可娱")//设置通知栏标题
//                                .setContentText("")
//                                .setContentIntent(pendingIntent) //设置通知栏点击意图
////	.                   setNumber(number) //设置通知集合的数量
//                                .setTicker("渔可娱") //通知首次出现在通知栏，带上升动画效果的
//                                .setWhen(System.currentTimeMillis())//通知产生的时间，会在通知信息里显示，一般是系统获取到的时间
//                                .setPriority(Notification.PRIORITY_DEFAULT) //设置该通知优先级
//                                .setAutoCancel(true)//设置这个标志当用户单击面板就可以让通知将自动取消
//                                .setOngoing(false)//ture，设置他为一个正在进行的通知。他们通常是用来表示一个后台任务,用户积极参与(如播放音乐)或以某种方式正在等待,因此占用设备(如一个文件下载,同步操作,主动网络连接)
//                                .setDefaults(Notification.DEFAULT_ALL)//向通知添加声音、闪灯和振动效果的最简单、最一致的方式是使用当前的用户默认设置，使用defaults属性，可以组合
//                                //Notification.DEFAULT_ALL  Notification.DEFAULT_SOUND  DEFAULT_VIBRATE 添加声音 // requires VIBRATE permission
//                                .setSmallIcon(R.mipmap.ic_launcher);//设置通知小ICON
//                        mNotificationManager.notify(notifyID, mBuilder.build());*/
//                  //  }
//
//                }
//                break;
//            default:
//                break;
//        }
//    }
//
//    private void showNotice(Context context,String content){
//               NotificationManager mNotificationManager;
//        mNotificationManager = (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE);
//        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context);
//                        String  packageName = context.getApplicationInfo().packageName;
//                        Intent intent = new Intent(context,DirectionActivity.class);
//                        PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
//                        mBuilder.setContentTitle("渔可娱")//设置通知栏标题
//                                .setContentText(content)
//                                .setContentIntent(pendingIntent) //设置通知栏点击意图
////	.                   setNumber(number) //设置通知集合的数量
//                                .setTicker("渔可娱") //通知首次出现在通知栏，带上升动画效果的
//                                .setWhen(System.currentTimeMillis())//通知产生的时间，会在通知信息里显示，一般是系统获取到的时间
//                                .setPriority(Notification.PRIORITY_DEFAULT) //设置该通知优先级
//                                .setAutoCancel(true)//设置这个标志当用户单击面板就可以让通知将自动取消
//                                .setOngoing(false)//ture，设置他为一个正在进行的通知。他们通常是用来表示一个后台任务,用户积极参与(如播放音乐)或以某种方式正在等待,因此占用设备(如一个文件下载,同步操作,主动网络连接)
//                                .setDefaults(Notification.DEFAULT_ALL)//向通知添加声音、闪灯和振动效果的最简单、最一致的方式是使用当前的用户默认设置，使用defaults属性，可以组合
//                                //Notification.DEFAULT_ALL  Notification.DEFAULT_SOUND  DEFAULT_VIBRATE 添加声音 // requires VIBRATE permission
//                                .setSmallIcon(R.mipmap.ic_launcher);//设置通知小ICON
//                        mNotificationManager.notify(notifyID, mBuilder.build());
//          }
//
//
//}
